package jsyf.oa.entity.wreport;

import com.alibaba.fastjson.JSONObject;
import jsyf.oa.ientity.BaseEntity;

import javax.persistence.Entity;
import javax.persistence.Table;
import java.io.Serializable;
import java.util.Date;

/**
 * @author: @张巨波 @zhangjubo
 * @creat: on 2017/12/6.
 * @since: V1.0.0
 * @see jsyf.oa.web
 */
@Entity
@Table(name = "T_WRT_UNIFINISH_MAIN", schema = "oa", catalog = "")
public class WReportUnfinishMainEntity extends BaseEntity  implements Serializable {
    private String id;
    private String trackTitle;
    private String trackContent;
    private Date createTime;
    private String type;
    private  String userId;
    private  String overTime;
    private String jobState;
    private  String jinzhan;
    private  String principal;

    /**
     * 本公司跟踪人
     */
    private String trackThecompany;
    /**
     * 总公司跟踪人
     */
    private String trackHeadcompany;
    /**
     * 预计关闭时间
     */
    private String predictTime;

    /**
     * 关闭原因
     */
    private String overReason;

    public String getOverReason() {
        return overReason;
    }

    public void setOverReason(String overReason) {
        this.overReason = overReason;
    }

    public String getPredictTime() {
        return predictTime;
    }

    public void setPredictTime(String predictTime) {
        this.predictTime = predictTime;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getTrackContent() {
        return trackContent;
    }

    public void setTrackContent(String trackContent) {
        this.trackContent = trackContent;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getJobState() {
        return jobState;
    }

    public void setJobState(String jobState) {
        this.jobState = jobState;
    }

    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public String getOverTime() {
        return overTime;
    }

    public void setOverTime(String overTime) {
        this.overTime = overTime;
    }

    public String getJinzhan() {
        return jinzhan;
    }

    public void setJinzhan(String jinzhan) {
        this.jinzhan = jinzhan;
    }

    @Override
    public void setDelFlag(Integer delFlag) {

    }
    @Override
    public void setUpdateTime(Date createTime) {

    }
    public String getTrackThecompany() {
        return trackThecompany;
    }

    public void setTrackThecompany(String trackThecompany) {
        this.trackThecompany = trackThecompany;
    }

    public String getTrackHeadcompany() {
        return trackHeadcompany;
    }

    public void setTrackHeadcompany(String trackHeadcompany) {
        this.trackHeadcompany = trackHeadcompany;
    }

    public String getTrackTitle() {
        return trackTitle;
    }

    public void setTrackTitle(String trackTitle) {
        this.trackTitle = trackTitle;
    }

    public String getPrincipal() {
        return principal;
    }

    public void setPrincipal(String principal) {
        this.principal = principal;
    }

    @Override
    public JSONObject getJSONColumns() {
        JSONObject json = new JSONObject();
        json.put("ID","id");
        json.put("TRACK_TITLE","trackTitle");
        json.put("TRACK_CONTENT","trackContent");
        json.put("CREATE_TIME","createTime");
        json.put("TYPE","type");
        json.put("USER_ID","userId");
        json.put("OVER_TIME","overTime");
        json.put("JOB_STATE","jobState");
        json.put("JINZHAN","jinzhan");
        json.put("TRACK_THECOMPANY","trackThecompany");
        json.put("TRACK_HEADCOMPANY","trackHeadcompany");
        json.put("PREDICT_TIME","predictTime");
        json.put("OVER_REASON","overReason");
        json.put("PRINCIPAL","principal");


        return json;
    }
    public JSONObject getJSONObject(){
        JSONObject obj = new JSONObject();

        obj.put("ID",getId());
        obj.put("TRACK_TITLE",getTrackTitle());
        obj.put("TRACK_CONTENT",getTrackContent());
        obj.put("CREATE_TIME",getCreateTime());
        obj.put("TYPE",getType());
        obj.put("JOB_STATE",getJobState());
        obj.put("USER_ID",getUserId());
        obj.put("OVER_TIME",getOverTime());
        obj.put("JINZHAN",getJinzhan());
        obj.put("TRACK_THECOMPANY",getTrackThecompany());
        obj.put("TRACK_HEADCOMPANY",getTrackHeadcompany());
        obj.put("PREDICT_TIME",getPredictTime());
        obj.put("OVER_REASON",getOverReason());
        obj.put("PRINCIPAL",getPrincipal());

        return  obj;
    }
    public JSONObject getJSONObjectId(){
        JSONObject obj = new JSONObject();
        obj.put("id",getId());
        return  obj;
    }
    @Override
    public String getTableName() {
        return "T_WRT_UNFINISH_MAIN";
    }
}
